# python的基本数据类型
name = "白嘉诚"   # todo: 字符串变量  ，str类型，任何用双引号、三引号、单引号包裹起来的，都是字符串
n1 = '小白'  # 单引号包裹起来的，都是字符串
n2 = """小嘉""" # 三引号包裹起来的，都是字符串
age = 18  # todo：整数类型，int类型
fl = 1.65 # todo：带有小数的，都是浮点型float
fl1 = [1,2,3,4,5] # todo：列表  list
fl2 = (1,2,3) # todo：元组  tuple
fl3 = {1,2,3} # todo：集合  set
fl4 = {"姓名":"白嘉诚"} # todo： 字典  dict
# 打印变量，也可以查看变量是属于哪个类型的：type检查数据类型
# print(name)
# print(type(name))  # print(type(变量))   打印它的变量类型

# print(n1)
# print(type(n1)) # <class 'str'>

# print(n2)
# print(type(n2))

# print(age)
# print("age的变量类型是：%s"%type(age)) # %占位符，占一个位置

# print(fl)
# print("fl的变量类型是：%s"%type(fl)) # fl的变量类型是：<class 'float'> 浮点型，带有小数的都是浮点

# print(fl1)
# print("fl1的变量类型是：%s"%type(fl1))  # fl1的变量类型是：<class 'list'>  列表

# print(fl2)
# print("fl2的变量类型是：%s"%type(fl2)) # fl2的变量类型是：<class 'tuple'>  元组

# print(fl3)
# print("fl3的变量类型是：%s"%type(fl3)) # fl3的变量类型是：<class 'set'>  集合

# print(fl4)
# print("fl4的变量类型是：%s"%type(fl4)) # fl4的变量类型是：<class 'dict'>  字典
# 变量一定要遵循先定义后使用，否则报错
# print(aa) # NameError: name 'aa' is not defined



# name1 = "小白"
# print("我的姓名是%s"%name1) # %s :占位任何的 ，输出内容：我的姓名是小白
"""
# 标识符
a = "变量a"
print(a)
_ = "变量_"
print(_)
_a = "_a变量"
print(_a)
# 1 = "1变量" # 整数不可以直接定义为变量名
# print(1)
a1 = "a1变量"
print(a1) # 这样是可以的
print1 = "print变量名称"
print(print1)

# 大家定义变量一定要见名识意
Student = "郝健成"
Student_no1 = "王琳琳"
ClassStudent = "郑可欣"
print(f"沁创一期学生有：{Student}、{Student_no1},{ClassStudent}") # 占位符一种

# 整数可以直接拿来用，不需要定义变量
print(12)
"""

# python可以进行数学运算
# 浮点数进行运算时,可能会得到一个不精确的结果
# c = 0.1+0.2
# print(c)

# 变量名重复定义
# c = 1.1
# c = 1.2 # 相同变量定义，会将之前的内容覆盖掉
# print(c)

# ==================== str字符串====================
# s='你不用刻意去改变自己，我来适应你就好了'
# s1="心中万点涟漪，都是为你而动。眼中万里柔情，皆是为你而起"
# print(s1)

# 单引号双引号不可以混合使用
# s2 = '"心中万点涟漪，都是为你而动。眼中万里柔情，皆是为你而起"
# print(s2)

# 有单引号开头，就要有结尾包住，这种就可以
# s3 = '"心中万点涟漪，都是为你而动。眼中万里柔情，皆是为你而起"'
# print(s3) # 会把里面的双引号打印出来

# 双引号套单引号
# s4 = "'心中万点涟漪，都是为你而动。眼中万里柔情，皆是为你而起'"
# print(s4) # 会把里面的单引号打印出来

# 三引号包起来进行打印
# s='''道路千万条,
# 安全第一条,
# 行车不规范,
# 亲人两开花,'''
# print(s)

# 转义字符
# \n 换行符
# print("今天星期二\n 天气还不错 \n 可以出去打打篮球")
# \t 制表符
# print("沁创学习python第二个月\t正在学习python基础") # 相当于推了一个tab键

# 不转义进行打印
# print(r"今天星期二\n 天气还不错") # 在字符串最前面加上r就可以
# print("今天星期二\\n 天气还不错") # 也可以在转义字符前面加上\

#字符串拼接
a = "abc" + "haha" + "哈哈"
# print(a)
# print(a+100) # 会报错，因为字符串不可以直接和整数相加的

# 占位符
b = '假如生活出卖了我 %s'%'我希望是论斤卖'
# print(b)

# %f 浮点数占位符
b1 = "Hello %f"%1.12
# print(b1)
# 保留两个精度位
b2 = "Hello %.2f"%1.12
# print(b2)

# 错用占位符会报错
# b3 = "Hello %f"%"今天天气很好"
# print(b3)

# 用字符串%s占位都是通用的
b4 = "Hello %s"%1.2
# print(b4)

# 整数占位符
b5 = "Hello %d"%3
# print(b5)

# 格式化字符串
b6 = f"Hello {'郝健成'} 今天天气很好"
# print(b6)

# 复制字符串
# b7 = "abc" * 2
# print(b7) # abcabc

# 布尔值只有两个情况：真 或者是 假
a1 = True  # 定义了一个为真值布尔
a2 = False # 定义为假布尔值
# print(a1)
# print(a2)

# 空值
a3 = None
# print(a3)
# print(type(a3)) # <class 'NoneType'>

# 变量和变量之间都是相互独立的，即使他们值一样
a4 = 5
a5 = 5
# print(a4)
# print(a5)
a5 = 6
print(a4)
print(a5)



